Лабораторная работа № 6

Задание 1. Приложение «Цифры»

Задание: Разработать приложение, в котором при нажатии на клавиатуре какой-либо цифры, она появляется в строке, а соответствующая кнопка становится «утопленной». Таким образом, в строке накапливается число.

1. Создайте проект Digits.dpr. Имеющейся форме сопоставьте файл Form_Dig.pas. Форму назовите fmDig.

2. Разместите на форме строку типа TEdit, назовите ее edDig. Задайте соответствующие свойства таким образом, чтобы в этой строке нельзя было вводить данные с клавиатуры и перемещаться на нее кнопкой Tab.

3. Разместите на форме 10 кнопок типа SpeedButton.

Рекомендация: создайте одну кнопку нужного размера, а затем скопируйте ее 9 раз. Назовите эти кнопки spbt0, …, spbt9.

4. Для изображения цифр вызовите встроенный графический редактор (Tools (Сервис), Image Editor). Создайте в нем поочередно 10 файлов с расширением .bmp (File, New…, Bitmap File). Задавайте размеры рисунков чуть меньшими, чем размеры кнопок. Нарисуйте различные цифры. В свойстве Glyph каждой кнопки загрузите соответствующую картинку.

5. Выделите все кнопки и задайте для свойства GroupIndex значение 1.

6. Для формы задайте свойство KeyPreview равное True. Тогда события клавиатуры будут перехватываться.

7. Для каждой кнопки обработайте событие OnClick , когда при нажатии на кнопку с цифрой в текстовую строку должна добавляться соответствующая цифра.

8. Для формы опишите реакцию на событие OnKeyPress следующим образом:

case key of

  '0' : begin  spbt0.Click; spbt0.Down := true; end;

  '1' : begin  spbt1.Click; spbt1.Down := true; end;

. . .

  '9' : begin spbt9.Click; spbt9.Down := true; end;

end;